# -*- coding: utf-8 -*-
"""
@Time    : 2024/6/25 18:39 
@Author  : ZhangShenao 
@File    : basic.py 
@Desc    : 类的定义
"""


class EmptyClass:
    """
    定义一个空类
    """
    pass  # pass是占位符,表示什么都不做或什么都没有


# 通过实例化,创建类的对象
empty_instance = EmptyClass()
# empty_instance是EmptyClass类的一个对象(实例),它有一个专属的内存地址
print(f'type of empty_instance is : {type(empty_instance)}, address is : {empty_instance}')


class Pair:
    """
    二元组类,包含两个属性:first和second
    """

    def __init__(self, first, second):
        """
        构造函数,用于初始化类的属性
        :param first: 第一个属性
        :param second: 第二个属性
        """
        self.first = first
        self.second = second

    def swap(self):
        """
        交换两个属性值
        定义在类中、供对象调用的函数,称为方法
        """
        self.first, self.second = self.second, self.first


# 创建Pair类的对象,此时会自动调用类的构造函数
pair = Pair(1, 2)

# 访问对象的属性
print(f'pair.first is : {pair.first}, pair.second is : {pair.second}')

# 修改对象属性值
print('修改对象属性值')
pair.first = 100
pair.second = 200
print(f'pair.first is : {pair.first}, pair.second is : {pair.second}')

# 调用对象的方法
pair.swap()
print('调用对象的swap方法')
print(f'pair.first is : {pair.first}, pair.second is : {pair.second}')
